#ifndef Q_PCL_PLUGIN_REGIONGROWINGFILTER_HEADER
#define Q_PCL_PLUGIN_REGIONGROWINGFILTER_HEADER

#include "BaseFilter.h"

class RegionGrowingDialog;

class RegionGrowing : public BaseFilter
{
    Q_OBJECT

public:
    RegionGrowing();
	virtual ~RegionGrowing();

	//inherited from BaseFilter
	virtual int compute();

protected:

	//inherited from BaseFilter
    virtual int openDialog();
	virtual void getParametersFromDialog();

	RegionGrowingDialog* m_dialog;
	
	bool smoothMode;
	int knn;
	float smoothness_treshold;
	float curvature_treshold;
	float residual_treshold;
	bool smoothness_test;
	bool curvature_test;
	int curvature_percentil;
	bool residual_test;
	int residual_percentil;

	int min_cluster_size;
	int max_cluster_size;
};

#endif // Q_PCL_PLUGIN_NORMALESTIMATION_HEADER
